/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.text;

import ksvg.text.TextContent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFExclude;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;

/**
 *
 * @author nt
 */
@JSFComponent(name = "svg:AltGlyph",
type = "tk.eigh.svg.AltGlyph",
family = "text.AltGlyph",
clazz = "ksvg.text.AltGlyph",
tagClass = "ksvg.text.tags.AltGlyphTag",
defaultRendererType = "SVGAltGlyphRenderer",
desc="The ‘altGlyph’ element provides control over the glyphs used to render particular character data.")
public abstract class AbstractAltGlyph extends TextContent {

    /**
     * x = "&lt;list-of-coordinates&gt;"
     *<br/>
     * If a single &lt;coordinate&gt; is provided, then the value represents the new
     * absolute X coordinate for the current text position for rendering the
     * glyphs that correspond to the first character within this element or any
     * of its descendants. If a comma- or space-separated list of n
     * &lt;coordinate&gt;s is provided, then the values represent new absolute X
     * coordinates for the current text position for rendering the glyphs
     * corresponding to each of the first n characters within this element or
     * any of its descendants. For additional processing rules, refer to the
     * description of the ‘x’ attribute on the ‘tspan’ element. If the attribute
     * is not specified, the effect is as if a value of "0" were specified.
     * Animatable: yes.
     */
    @JSFProperty
    public abstract String getX();

    /**
     * y = "&lt;list-of-coordinates&gt;"
     *<br/>
     * The corresponding list of absolute Y coordinates for the glyphs
     * corresponding to the characters within this element. The processing rules
     * for the ‘y’ attribute parallel the processing rules for the ‘x’
     * attribute. If the attribute is not specified, the effect is as if a value
     * of "0" were specified. Animatable: yes.
     */
    @JSFProperty
    public abstract String getY();

    /**
     * dx = "&lt;list-of-lengths&gt;"
     *<br/>
     * Shifts in the current text position along the x-axis for the characters
     * within this element or any of its descendants. Refer to the description
     * of the ‘dx’ attribute on the ‘tspan’ element. If the attribute is not
     * specified on this element or any of its descendants, no supplemental
     * shifts along the x-axis will occur. Animatable: yes.
     */
    @JSFProperty
    public abstract String getDx();

    /**
     * dy = "&lt;list-of-lengths&gt;"
     *<br/>
     * Shifts in the current text position along the y-axis for the characters
     * within this element or any of its descendants. Refer to the description
     * of the ‘dy’ attribute on the ‘tspan’ element. If the attribute is not
     * specified on this element or any of its descendants, no supplemental
     * shifts along the y-axis will occur. Animatable: yes.
     */
    @JSFProperty
    public abstract String getDy();

    /**
     * glyphRef = "&lt;string&gt;"
     *<br/>
     * The glyph identifier, the format of which is dependent on the ‘format’ of
     * the given font. (Same meaning as the ‘glyphRef’ attribute on the
     * ‘glyphRef’ element.)
     *<br/>
     * Animatable: no.
     */
    @JSFProperty
    public abstract String getGlyphRef();

    /**
     * format = "&lt;string&gt;"
     *<br/>
     * The format of the given font. If the font is in one of the formats listed
     * in CSS2 ([CSS2], section 15.3.5), such as TrueDoc™ Portable Font Resource
     * or Embedded OpenType, then the &lt;string&gt; must contain the corresponding
     * font format string, such as truedoc-pfr or embedded-opentype. (This
     * attribute has the same meaning as the ‘format’ attribute on the
     * ‘glyphRef’ element.)
     *<br/>
     * Animatable: no.
     */
    @JSFProperty
    public abstract String getFormat();

    /**
     * rotate = "&lt;list-of-numbers&gt;"
     *<br/>
     * The supplemental rotation about the current text position that will be
     * applied to all of the glyphs corresponding to each character within this
     * element. Refer to the description of the ‘rotate’ attribute on the
     * ‘tspan’ element. If the attribute is not specified on this element or any
     * of its descendants, no supplemental rotations will occur. Animatable: yes
     * (non-additive).
     */
    @JSFProperty
    public abstract String getRotate();

    /**
     * xlink:href = "&lt;iri&gt;"
     *<br/>
     * An IRI reference to the ‘path’ element onto which the glyphs will be
     * rendered. If &lt;iri&gt; is an invalid reference (e.g., no such element exists,
     * or the referenced element is not a ‘path’), then the ‘textPath’ element
     * is in error and its entire contents shall not be rendered by the user
     * agent.
     *<br/>
     * Animatable: yes.
     *<br/>
     */
    @JSFProperty
    public abstract String getXlinkHref();
}